//////////////////////////////////////////////
// InputSystem.h
//
//////////////////////////////////////////////

/// Defines / Macros -------------------------

#pragma once

/// Forward decl -----------------------------

namespace nkInputs
{
	class DataAllocator ;
	class KeyboardDevice ;
	class MouseDevice ;
	class System ;
}

/// Class ------------------------------------

namespace nkInputs
{
	class InputSystem
	{
		public :

			// Constructor, destructor
			InputSystem (System* system) noexcept ;
			virtual ~InputSystem () ;

			// Getters
			virtual DataAllocator* getAllocator () const = 0 ;

		protected :

			System* _system ;
	} ;
}